package com.sumainfor.pc.gmio.controller.secretary;
import com.sumainfor.common.util.JsonResult;
import com.sumainfor.pc.gmio.service.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 *临时账单、租客收入账单、微信统一下单、上传续签合同的首月水电押金的支付凭证、租客端被驳回账单重新支付
 *
 */
@RestController
@RequestMapping("/tenant/key/secretary/SeWxTemporary")
public class SeWxTemporaryController implements Serializable {
    @Autowired
    private SeTemporaryService seTemporaryService;
    @Autowired
    private SeTenantBillService seTenantBillService;
    @Autowired
    private SeBpwService seBpwService;
    @Autowired
    private SeBillPayService seBillPayService;
    @Autowired
    private SePaymentHistoryService sePaymentHistoryService;
    /**
     * 查询水表录入记录的列表
     */
    @GetMapping("/getHouTemporaryList")
    public JsonResult getHouTemporaryList(@RequestParam Map<String,Object>params){
        JsonResult result=new JsonResult();
        List<Map<String,Object>> list= seTemporaryService.getHouTemporaryList(params);
        if (list!=null){
            result.put(list);
        }else{
            result.putFailed("服务器繁忙");
        }
        return result;
    }
    /**
     * 微信支付 统一下单
     */
    @PostMapping("/getUnifiedorder")
    public JsonResult getUnifiedorder(@RequestBody Map<String,Object>params){
        return seBpwService.getUnifiedorder(params);
    }
    /**
     * 续签合同的时候把上一份合同的账单在微信统一下单的详情
     */
    @PostMapping("/getOrderQuery")
    public JsonResult getOrderQuery(@RequestBody Map<String,Object>params){
        return seBpwService.getOrderQuery(params);
    }
    /**
     *微信关闭预订单
     */
    @PostMapping("/CloseOrder")
    public JsonResult CloseOrder(@RequestBody Map<String,Object>params){
        return seBpwService.CloseOrder(params);
    }
    /**
     * 租客端续签的时候查询续签合同的信息（生成预付订单）
     */
    @PostMapping("/getRenUnifiedorder")
    public JsonResult getRenUnifiedorder(@RequestBody Map<String,Object>params){
        return seBpwService.getRenUnifiedorder(params);
    }
    /**
     * 租客端续签的时候查询续签合同的信息（查询维修支付订单的信息）
     */
    @PostMapping("/getRenOrderQuery")
    public JsonResult getRenOrderQuery(@RequestBody Map<String,Object>params){
        return seBpwService.getRenOrderQuery(params);
    }
    /**
     * 租客端续签的时候上传水电押金的支付凭证
     */
    @PostMapping("/addSeBillPay")
    public JsonResult addSeBillPay(@RequestBody Map<String,Object>params){
        System.out.println("params"+params);
        return seBillPayService.addSeBillPay(params);
    }
    /**
     * 租客端续签的时候查询续签合同的信息（生成预付订单）
     */
    @PostMapping("/getDelayUnifiedorder")
    public JsonResult getDelayUnifiedorder(@RequestBody Map<String,Object>params){
        return seBpwService.getDelayUnifiedorder(params);
    }
    /**
     *租客端延期退(查询微信订单的支付状态)
     */
    @PostMapping("/getDelayOrderQuery")
    public JsonResult getDelayOrderQuery(@RequestBody Map<String,Object>params){
        return seBpwService.getDelayOrderQuery(params);
    }
    /**
     * 租客端其他账单微信支付（生成预付订单）
     */
    @PostMapping("/getOtherUnifiedorder")
    public JsonResult getOtherUnifiedorder(@RequestBody Map<String,Object>params){
        return seBpwService.getOtherUnifiedorder(params);
    }
    /**
     * 租客端延期退(查询微信订单的支付状态)
     */
    @PostMapping("/getOtherOrderQuery")
    public JsonResult getOtherOrderQuery(@RequestBody Map<String,Object>params){
        return seBpwService.getOtherOrderQuery(params);
    }
    /**
     * 智能设备充值被驳回后重新上传支付凭证
     */
    @PostMapping("/updateBillPayStatus")
    public JsonResult updateBillPayStatus(@RequestBody Map<String,Object>params){
        return seBillPayService.updateBillPayStatus(params);
    }
    /**
     * 智能设备充值被驳回取消账单
     */
    @PostMapping("/updateBillDiscard")
    public JsonResult updateBillDiscard(@RequestBody Map<String,Object>params){
        return seBillPayService.updateBillDiscard(params);
    }
    /**
     * 租客端查询账单的历史缴费记录
     */
    @GetMapping("/getPaymePrice")
    public JsonResult getPaymePrice(@RequestParam Map<String,Object>params){
        return sePaymentHistoryService.getPaymePrice(params);
    }
}
